<?php
include_once "filtro_cabecera.php";
include_once "../funciones/funciones_php.php";
include_once "../funciones/code128.class.php";
?>
<html>
	<link rel="stylesheet" type="text/css" href="../css/plantilla.css" />
<body>
<?php

//Obtiene la cantidad de encomiendas de tipo cobranza que posee una orden de flete
function getCantidadEncomienda($idOrden)
{
	//Encontrar cantidad de cajas, sobres, valijas
   $pg = sprintf("SELECT cantidad, id_encomienda, id_tipo_encomienda, monto, tipo_pago
                  FROM orden_flete, encomienda
                  WHERE orden_flete.id_orden_flete = '%d'
					   AND encomienda.id_tipo_encomienda = 5
                  AND encomienda.id_orden_flete = orden_flete.id_orden_flete",
                  pg_escape_string($idOrden));
   $consulta = pg_query($pg) or die("ERROR");
                
   while( $reg = pg_fetch_array($consulta) )
   {
      $tipo_encomienda = $reg['id_tipo_encomienda'];
   	//Si hay facturas
		if($tipo_encomienda==5)
      {   
         $cantidad['cobranza']['cantidad'] = $reg['cantidad'];
         $cantidad['cobranza']['monto'] = $reg['monto'];
	      $cantidad['cobranza']['tipo_pago'] = $reg['tipo_pago'];
      }             
   }
	
	return $cantidad;
}

if( isset($_GET['fecha'] , $_GET['ciudad']) )
{
	conectar();
   $fecha = $_GET['fecha'];
   $ciudad = $_GET['ciudad'];
	list($dia, $mes, $anio) = explode("-",$fecha);
	
	if($ciudad == "todo")
	{
		$sql1 = sprintf("SELECT destino.destino, orden_flete.id_orden_flete, (orden_flete.nombre_consignatario || ' ' || orden_flete.apellido_consignatario) as nombre_consignatario,
                        comuna.comuna, comuna.id_ruta,
						(orden_flete.direccion_consignatario || ' ' || orden_flete.numero_direccion || ' ' || orden_flete.numero_depto) as direccion_consignatario
						FROM orden_flete, comuna, destino, encomienda, orden_flete_estado_orden
						WHERE date_part('day' ,orden_flete.fecha_emision) = '%d'
						AND date_part('month' ,orden_flete.fecha_emision) = '%d'
						AND date_part('year' ,orden_flete.fecha_emision) = '%d'
						AND orden_flete.id_tipo_servicio = 3
						AND encomienda.id_orden_flete = orden_flete.id_orden_flete
						AND encomienda.id_tipo_encomienda = 5
						AND comuna.id_comuna = orden_flete.id_comuna
						AND destino.id_destino = comuna.id_destino
						GROUP BY destino.destino, orden_flete.id_orden_flete, (orden_flete.nombre_consignatario || ' ' || orden_flete.apellido_consignatario),
                  orden_flete.direccion_consignatario, comuna.comuna, comuna.id_ruta,
						(orden_flete.direccion_consignatario || ' ' || orden_flete.numero_direccion || ' ' || orden_flete.numero_depto)
						ORDER BY destino.destino",
                pg_escape_string($dia),
                pg_escape_string($mes),
                pg_escape_string($anio));
		
	}
	else
	{

		$sql1 = sprintf("SELECT orden_flete.id_orden_flete,(orden_flete.nombre_consignatario || ' ' || orden_flete.apellido_consignatario) as nombre_consignatario,
                       comuna.comuna, orden_flete.direccion_consignatario, destino.destino, comuna.id_ruta,
						     (orden_flete.direccion_consignatario || ' ' || orden_flete.numero_direccion || ' ' || orden_flete.numero_depto) as direccion_consignatario
                     FROM orden_flete, comuna, destino, encomienda
                     WHERE date_part('day',orden_flete.fecha_emision) = '%d'
                     AND date_part('month',orden_flete.fecha_emision) = '%d'
                     AND date_part('year',orden_flete.fecha_emision) = '%d'
                     AND orden_flete.id_tipo_servicio = 3
				         AND encomienda.id_orden_flete = orden_flete.id_orden_flete
				         AND encomienda.id_tipo_encomienda = 5
                     AND destino.id_destino = '%s'
				         AND comuna.id_destino = destino.id_destino
                     AND orden_flete.id_comuna = comuna.id_comuna
                     GROUP BY destino.destino, orden_flete.id_orden_flete,(orden_flete.nombre_consignatario || ' ' || orden_flete.apellido_consignatario),
                        comuna.comuna, orden_flete.direccion_consignatario, comuna.id_ruta,
						   (orden_flete.direccion_consignatario || ' ' || orden_flete.numero_direccion || ' ' || orden_flete.numero_depto)
					      ORDER BY destino.destino",
               pg_escape_string($dia),
               pg_escape_string($mes),
               pg_escape_string($anio),
               pg_escape_string($ciudad));
	}

   $consulta1 = pg_query($sql1)or die("Error");
   $numFilas = pg_num_rows($consulta1);
	
	//Muestra los resultados en una tabla
   if($numFilas > 0)
	{
      $i = 0;
		$count = 0;
		//Ciclo que recorre cada orden de flete
      while ($reg1 = pg_fetch_array($consulta1))
		{
				
         $orden_flete = $reg1['id_orden_flete'];
         $consignatario = $reg1['nombre_consignatario'];
			$direccion = $reg1['direccion_consignatario'];
         $comuna = $reg1['comuna'];
			$destino = $reg1['destino'];
			$ruta = $reg1['id_ruta'];
			$cantidad = getCantidadEncomienda($orden_flete);
                
			//Si llego a 10 registros o cambia de destino, hace un salto de pagina y crea el encabezado nuevamente
			if( (($count%20) == 0) || $destino_actual != $destino   )
			{		
				//reinicio contador
				$count = 0;
				//Actualiza cambio de destino
				$destino_actual = $destino;
			
				//Si NO es el inicio cierra la tabla anterior
				if($i != 0)
					echo "</table>";
					 
				//Si es el inicio no hace el salto de pagina
				if($i == 0)
					$idCapa = " ";
				else
					$idCapa = "salto_pagina_anterior";
					
					
			   echo "<div id=" . $idCapa . ">
						<div align=center>MANIFIESTO DE COBRANZAS</div><br />
						<div align=right>Fecha: " . $fecha . "</div><br />
						<div align=left>Destino: " . $destino_actual . "</div><br />
						<table border=1 cellspacing=0>
					   <tr>
				      <th>Codigo</th>
						<th>Consignatario</th>
						<th>Tipo de Pago</th>
						<th>Cantidad</th>
						<th>Monto</th>
						<th>Direccion</th>
						<th>Comuna</th>
						<th>Ruta</th>
						</tr>
						</div>";
			}
				
			echo "<tbody>
               <tr>
					<td>&nbsp;" . $orden_flete . "</td>
               <td>&nbsp;" . $consignatario . "</td>
               <td>&nbsp;" . $cantidad['cobranza']['tipo_pago'] . "</td>
               <td>&nbsp;" . $cantidad['cobranza']['cantidad'] . "</td>
					<td>&nbsp;" . formatoMoneda($cantidad['cobranza']['monto']) . "</td>
					<td>&nbsp;" . $direccion . "</td>
               <td>&nbsp;" . $comuna . "</td>
					<td>&nbsp;" . $ruta . "</td>
               </tr>
               </tbody>";
           	
			$i++;
			$count++;
      }
    
      echo "</table>";
		
   }
   else
      echo "<p align=center>No se encontraron envios para esa fecha y destino</p>";
   
	pg_close();
}
else
   echo "Faltan datos para completar la consulta.";
?>
<script>window.print();</script>
</body>
</html>  

